package com.nimitz.module.employee.domain;

import com.nimitz.common.annotation.Excel;
import com.nimitz.common.annotation.Excel.Type;
import com.nimitz.common.annotation.Excels;
import com.nimitz.common.core.domain.BaseEntity;
import com.nimitz.common.core.domain.entity.SysDept;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 人员基本信息表 emp_employee
 */
@ApiModel(value = "EmpEmployee对象", description = "人员基本信息表")
public class EmpEmployee extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 人员id
     */
    @ApiModelProperty(value = "人员id")
    private Integer employeeId;

    /**
     * 警号
     */
    @Excel(name = "警号")
    @ApiModelProperty(value = "警号")
    private String employeeCode;

    /**
     * 名称
     */
    @Excel(name = "名称")
    @ApiModelProperty(value = "名称")
    private String employeeName;

    /**
     * 证件号码
     */
    @Excel(name = "证件号码")
    @ApiModelProperty(value = "证件号码")
    private String employeeIdCard;

    /**
     * 联系电话
     */
    @Excel(name = "联系电话")
    @ApiModelProperty(value = "联系电话")
    private String employeePhone;

    /**
     * 入职日期
     */
    @Excel(name = "入职日期")
    @ApiModelProperty(value = "入职日期")
    private String employeeInductionDate;

    /**
     * 性别：0=男,1=女,2=未知
     */
    @Excel(name = "性别", readConverterExp = "0=男,1=女,2=未知")
    @ApiModelProperty(value = "性别")
    private String employeeSex;

    /**
     * 状态：0=待职,1=在职,2=离职
     */
    @Excel(name = "状态", readConverterExp = "0=待职,1=在职,2=离职")
    @ApiModelProperty(value = "状态")
    private String status;

    /**
     * 类型：0=文职,1=勤务
     */
    @Excel(name = "类型", readConverterExp = "0=文职,1=勤务")
    @ApiModelProperty(value = "类型")
    private String employeeType;

    /**
     * 辅警层级：0=一级,1=二级,2=三级,3=四级,4=五级,5=六级,6=七级
     */
    @Excel(name = "辅警层级", readConverterExp = "0=一级,1=二级,2=三级,3=四级,4=五级,5=六级,6=七级")
    @ApiModelProperty(value = "辅警层级")
    private String employeeLevel;

    /**
     * 机构层级：0=市本级,1=龙港区,2=连山区,3=南票区,4=高新区,5=兴城市,6=绥中县,7=建昌县,8=杨家杖
     */
    @Excel(name = "机构层级", readConverterExp = "0=市本级,1=龙港区,2=连山区,3=南票区,4=高新区,5=兴城市,6=绥中县,7=建昌县,8=杨家杖")
    @ApiModelProperty(value = "机构层级")
    private String employeeAgency;

    /**
     * 部门对象
     */
    @Excels({@Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
            @Excel(name = "负责人", targetAttr = "leader", type = Type.EXPORT)})
    @ApiModelProperty(value = "部门对象")
    private SysDept employeeDepartment;

    /**
     * 学历：0=高中,1=大专,2=本科,3=硕士(单证),4=硕士(双证)
     */
    @Excel(name = "学历", readConverterExp = "0=高中,1=大专,2=本科,3=硕士(单证),4=硕士(双证)")
    @ApiModelProperty(value = "学历")
    private String employeeEducation;

    /**
     * 政治面貌：0=群众,1=中共党员
     */
    @Excel(name = "政治面貌", readConverterExp = "0=群众,1=中共党员")
    @ApiModelProperty(value = "政治面貌")
    private String employeePolitics;

    /**
     * 户口所在地：0=龙港区,,1=连山区,2=南票区,3=兴城市,4=绥中县,5=建昌县,6=杨家杖,7=其  他
     */
    @Excel(name = "户口所在地", readConverterExp = "0=龙港区,,1=连山区,2=南票区,3=兴城市,4=绥中县,5=建昌县,6=杨家杖,7=其  他")
    @ApiModelProperty(value = "户口所在地")
    private String employeeDomicile;

    /**
     * 出生日期
     */
    @Excel(name = "出生日期")
    @ApiModelProperty(value = "出生日期")
    private String employeeBirthday;

    /**
     * 年龄
     */
    @Excel(name = "年龄")
    @ApiModelProperty(value = "年龄")
    private Integer employeeAge;

    /**
     * 档案编码
     */
    @Excel(name = "档案编码")
    @ApiModelProperty(value = "档案编码")
    private String employeeArchives;

    /**
     * 转正日期
     */
    @Excel(name = "转正日期")
    @ApiModelProperty(value = "转正日期")
    private String employeeConfirmationDate;

    /**
     * 离职日期
     */
    @Excel(name = "离职日期")
    @ApiModelProperty(value = "离职日期")
    private String employeeLeaveDate;

    /**
     * 紧急联系人
     */
    @Excel(name = "紧急联系人")
    @ApiModelProperty(value = "紧急联系人")
    private String employeeEmergency;

    /**
     * 紧急联系人电话
     */
    @Excel(name = "紧急联系人电话")
    @ApiModelProperty(value = "紧急联系人电话")
    private String employeeEmergencyPhone;

    /**
     * 招聘类型：0=直签,1=派遣
     */
    @Excel(name = "招聘类型", readConverterExp = "0=直签,1=派遣")
    @ApiModelProperty(value = "招聘类型")
    private String employeeRecruitType;

    /**
     * 招聘批次：0=一批,1=二批,2=三批,3=四批,4=五批
     */
    @Excel(name = "招聘批次", readConverterExp = "0=一批,1=二批,2=三批,3=四批,4=五批")
    @ApiModelProperty(value = "招聘批次")
    private String employeeRecruitBatch;

    /**
     * 招聘日期
     */
    @Excel(name = "招聘日期")
    @ApiModelProperty(value = "招聘日期")
    private String employeeRecruitDate;

    /**
     * 部门id
     */
    @ApiModelProperty(value = "部门id")
    private Integer deptId;

    /**
     * 提交人
     */
    @Excel(name = "提交人")
    @ApiModelProperty(value = "提交人")
    private String employeeSubmitName;

    /**
     * 提交日期
     */
    @Excel(name = "提交日期")
    @ApiModelProperty(value = "提交日期")
    private String employeeSubmitDate;

    /**
     * 驳回人
     */
    @Excel(name = "驳回人")
    @ApiModelProperty(value = "驳回人")
    private String employeeRejectName;

    /**
     * 驳回日期
     */
    @Excel(name = "驳回日期")
    @ApiModelProperty(value = "驳回日期")
    private String employeeRejectDate;

    /**
     * 驳回原因
     */
    @Excel(name = "驳回原因")
    @ApiModelProperty(value = "驳回原因")
    private String employeeRejectReason;

    /**
     * 审核状态：0=待审核,1=审核中,2=已审核,3=未通过
     */
    @Excel(name = "审核状态", readConverterExp = "0=待审核,1=审核中,2=已审核,3=未通过")
    @ApiModelProperty(value = "状态")
    private String auditStatus;

    /**
     * 删除标志：0=存在,1=删除
     */
    private String delFlag;

    public Integer getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(Integer employeeId) {
        this.employeeId = employeeId;
    }

    public String getEmployeeCode() {
        return employeeCode;
    }

    public void setEmployeeCode(String employeeCode) {
        this.employeeCode = employeeCode;
    }

    public String getEmployeeName() {
        return employeeName;
    }

    public void setEmployeeName(String employeeName) {
        this.employeeName = employeeName;
    }

    public String getEmployeeSex() {
        return employeeSex;
    }

    public void setEmployeeSex(String employeeSex) {
        this.employeeSex = employeeSex;
    }

    public Integer getEmployeeAge() {
        return employeeAge;
    }

    public void setEmployeeAge(Integer employeeAge) {
        this.employeeAge = employeeAge;
    }

    public String getEmployeeBirthday() {
        return employeeBirthday;
    }

    public void setEmployeeBirthday(String employeeBirthday) {
        this.employeeBirthday = employeeBirthday;
    }

    public String getEmployeePhone() {
        return employeePhone;
    }

    public void setEmployeePhone(String employeePhone) {
        this.employeePhone = employeePhone;
    }

    public String getEmployeeAgency() {
        return employeeAgency;
    }

    public void setEmployeeAgency(String employeeAgency) {
        this.employeeAgency = employeeAgency;
    }

    public String getEmployeeEducation() {
        return employeeEducation;
    }

    public void setEmployeeEducation(String employeeEducation) {
        this.employeeEducation = employeeEducation;
    }

    public String getEmployeeLevel() {
        return employeeLevel;
    }

    public void setEmployeeLevel(String employeeLevel) {
        this.employeeLevel = employeeLevel;
    }

    public String getEmployeePolitics() {
        return employeePolitics;
    }

    public void setEmployeePolitics(String employeePolitics) {
        this.employeePolitics = employeePolitics;
    }

    public String getEmployeeDomicile() {
        return employeeDomicile;
    }

    public void setEmployeeDomicile(String employeeDomicile) {
        this.employeeDomicile = employeeDomicile;
    }

    public String getEmployeeType() {
        return employeeType;
    }

    public void setEmployeeType(String employeeType) {
        this.employeeType = employeeType;
    }

    public String getEmployeeArchives() {
        return employeeArchives;
    }

    public void setEmployeeArchives(String employeeArchives) {
        this.employeeArchives = employeeArchives;
    }

    public String getEmployeeInductionDate() {
        return employeeInductionDate;
    }

    public void setEmployeeInductionDate(String employeeInductionDate) {
        this.employeeInductionDate = employeeInductionDate;
    }

    public String getEmployeeConfirmationDate() {
        return employeeConfirmationDate;
    }

    public void setEmployeeConfirmationDate(String employeeConfirmationDate) {
        this.employeeConfirmationDate = employeeConfirmationDate;
    }

    public String getEmployeeLeaveDate() {
        return employeeLeaveDate;
    }

    public void setEmployeeLeaveDate(String employeeLeaveDate) {
        this.employeeLeaveDate = employeeLeaveDate;
    }

    public String getEmployeeIdCard() {
        return employeeIdCard;
    }

    public void setEmployeeIdCard(String employeeIdCard) {
        this.employeeIdCard = employeeIdCard;
    }

    public String getEmployeeEmergency() {
        return employeeEmergency;
    }

    public void setEmployeeEmergency(String employeeEmergency) {
        this.employeeEmergency = employeeEmergency;
    }

    public String getEmployeeEmergencyPhone() {
        return employeeEmergencyPhone;
    }

    public void setEmployeeEmergencyPhone(String employeeEmergencyPhone) {
        this.employeeEmergencyPhone = employeeEmergencyPhone;
    }

    public String getEmployeeRecruitType() {
        return employeeRecruitType;
    }

    public void setEmployeeRecruitType(String employeeRecruitType) {
        this.employeeRecruitType = employeeRecruitType;
    }

    public String getEmployeeRecruitBatch() {
        return employeeRecruitBatch;
    }

    public void setEmployeeRecruitBatch(String employeeRecruitBatch) {
        this.employeeRecruitBatch = employeeRecruitBatch;
    }

    public String getEmployeeRecruitDate() {
        return employeeRecruitDate;
    }

    public void setEmployeeRecruitDate(String employeeRecruitDate) {
        this.employeeRecruitDate = employeeRecruitDate;
    }

    public Integer getDeptId() {
        return deptId;
    }

    public void setDeptId(Integer deptId) {
        this.deptId = deptId;
    }

    public SysDept getEmployeeDepartment() {
        return employeeDepartment;
    }

    public void setEmployeeDepartment(SysDept employeeDepartment) {
        this.employeeDepartment = employeeDepartment;
    }

    public String getEmployeeSubmitName() {
        return employeeSubmitName;
    }

    public void setEmployeeSubmitName(String employeeSubmitName) {
        this.employeeSubmitName = employeeSubmitName;
    }

    public String getEmployeeSubmitDate() {
        return employeeSubmitDate;
    }

    public void setEmployeeSubmitDate(String employeeSubmitDate) {
        this.employeeSubmitDate = employeeSubmitDate;
    }

    public String getEmployeeRejectName() {
        return employeeRejectName;
    }

    public void setEmployeeRejectName(String employeeRejectName) {
        this.employeeRejectName = employeeRejectName;
    }

    public String getEmployeeRejectDate() {
        return employeeRejectDate;
    }

    public void setEmployeeRejectDate(String employeeRejectDate) {
        this.employeeRejectDate = employeeRejectDate;
    }

    public String getEmployeeRejectReason() {
        return employeeRejectReason;
    }

    public void setEmployeeRejectReason(String employeeRejectReason) {
        this.employeeRejectReason = employeeRejectReason;
    }

    public String getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(String auditStatus) {
        this.auditStatus = auditStatus;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("employeeId", getEmployeeId())
                .append("employeeCode", getEmployeeCode())
                .append("employeeName", getEmployeeName())
                .append("employeeSex", getEmployeeSex())
                .append("employeeAge", getEmployeeAge())
                .append("employeeBirthday", getEmployeeBirthday())
                .append("employeePhone", getEmployeePhone())
                .append("employeeAgency", getEmployeeAgency())
                .append("employeeEducation", getEmployeeEducation())
                .append("employeeLevel", getEmployeeLevel())
                .append("employeePolitics", getEmployeePolitics())
                .append("employeeDomicile", getEmployeeDomicile())
                .append("employeeType", getEmployeeType())
                .append("employeeArchives", getEmployeeArchives())
                .append("employeeInductionDate", getEmployeeInductionDate())
                .append("employeeConfirmationDate", getEmployeeConfirmationDate())
                .append("employeeLeaveDate", getEmployeeLeaveDate())
                .append("employeeIdCard", getEmployeeIdCard())
                .append("employeeEmergency", getEmployeeEmergency())
                .append("employeeEmergencyPhone", getEmployeeEmergencyPhone())
                .append("employeeRecruitType", getEmployeeRecruitType())
                .append("employeeRecruitBatch", getEmployeeRecruitBatch())
                .append("employeeRecruitDate", getEmployeeRecruitDate())
                .append("deptId", getDeptId())
                .append("employeeDepartment", getEmployeeDepartment())
                .append("employeeSubmitName", getEmployeeSubmitName())
                .append("employeeSubmitDate", getEmployeeSubmitDate())
                .append("employeeRejectName", getEmployeeRejectName())
                .append("employeeRejectDate", getEmployeeRejectDate())
                .append("employeeRejectReason", getEmployeeRejectReason())
                .append("auditStatus", getAuditStatus())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
